package io.geekidea.boot.inventorychange.service.impl;

import io.geekidea.boot.framework.service.impl.BaseServiceImpl;
import io.geekidea.boot.inventorychange.dto.StoreChangeDto;
import io.geekidea.boot.inventorychange.dto.StoreChangeExcel;
import io.geekidea.boot.inventorychange.entity.StoreChange;
import io.geekidea.boot.inventorychange.mapper.StoreChangeMapper;
import io.geekidea.boot.inventorychange.query.StoreChangeQuery;
import io.geekidea.boot.inventorychange.service.StoreChangeService;
import io.geekidea.boot.inventorychange.vo.StoreChangeVo;
import io.geekidea.boot.otherstores.query.total;
import io.geekidea.boot.store.entity.Store;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;

@Service
@Transactional(rollbackFor = Exception.class)
public class StoreChangeServiceImpl extends BaseServiceImpl<StoreChangeMapper, StoreChange> implements StoreChangeService {

    @Resource
    private StoreChangeMapper storeChangeMapper;

    @Override
    public List<StoreChange> StoreChanagList(StoreChangeQuery storeChangeQuery) {
        return storeChangeMapper.StoreChanagList(storeChangeQuery);
    }

    @Override
    public total getTotal(StoreChangeQuery storeChangeQuery) {
        return storeChangeMapper.getTotal(storeChangeQuery);
    }

    @Override
    public List<StoreChangeVo> typeList(StoreChangeQuery storeChangeQuery) {
        return storeChangeMapper.typeList(storeChangeQuery);
    }

    @Override
    public List<Store> StoreList(StoreChangeQuery storeChangeQuery) {
        return storeChangeMapper.StoreList(storeChangeQuery);
    }

    @Override
    public List<StoreChangeExcel> getDownloadList(StoreChangeQuery storeChangeQuery) {
        return storeChangeMapper.getDownloadList(storeChangeQuery);
    }

    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean addStoreChangeList(StoreChangeDto storeChangeDto) {
        return storeChangeMapper.addStoreChange(storeChangeDto) > 0;
    }
}
